﻿//cpp的第一段程序
//#include<iostream>
//using namespace std;
//int main()
//{
//	cout << "hello world" << endl;
//	return 0;
//}
//#include<iostream>
//
//namespace zy
//{
//	int rand = 10;
//}
//int main()
//{
//	printf("%d\n", zy::rand);
//	return 0;
//}
//#include<iostream>
//namespace zy
//{
//	//一般开发中使用项目名字作命名空间
//	//命名空间中可以定义变量/函数/类型
//	int rand = 10;
//	int Add(int left, int right)
//	{
//		return left + right;
//	}
//	struct Node
//	{
//		struct Node* next;
//		int val;
//	};
//}
//int main()
//{
//	//这里默认是访问的全局函数rand函数指针
//	printf("%p\n", rand);
//	//这里是指定zy命名空间的rand
//	//::是域作用限定符，用于指向命名空间寻找所需变量、函数、类等。
//	printf("%p\n", zy::rand);
//
//	return 0;
//}
//#include<iostream>
////命名空间可以嵌套
//namespace sdglxy
//{
//	namespace zy
//	{
//		int rand = 10;
//		int Add(int left, int right)
//		{
//			return left + right;
//		}
//	}
//	namespace ym
//	{
//		int rand = 10;
//		int Add(int left, int right)
//		{
//			return (left + right)*10;
//		}
//	}
//}
//int main()
//{
//	printf("%d", sdglxy::zy::Add(1, 2));
//	return 0;
//}


#define _CRT_SECURE_NO_WARNINGS
#include"stack.h"

#include"Stack.h"
// 全局定义了⼀份单独的栈
typedef struct Stack
{
	int a[10];
	int top;
}ST;
void STInit(ST* ps) {}
void STPush(ST* ps, int x) {}
int main()
{
	// 调⽤全局的栈
	ST st1;
	STInit(&st1);
	STPush(&st1, 1);
	STPush(&st1, 2);
	printf("%d\n", sizeof(st1));
	// 调用zy namespace命名空间的栈
	zy::ST st2;
	zy::STInit(&st2);
	zy::STPush(&st2, 1);
	zy::STPush(&st2, 2);
	printf("%d\n", sizeof(st2));

	return 0;
}
